package com.xuecheng.content.service;

import com.xuecheng.content.model.dto.BindTeachPlanMediaDto;
import com.xuecheng.content.model.dto.SaveTeachplanDto;
import com.xuecheng.content.model.dto.TeachplanDto;
import org.springframework.web.bind.annotation.PathVariable;

import java.util.List;

/**
 * 课程计划管理相关接口
 */
public interface TeachplanService {
    /**
     * 查询课程计划树形结构
     * @param courseId 课程id
     * @return
     */
    List<TeachplanDto> findTeachplanTree(Long courseId);

    /**
     * 新增，修改保存课程计划
     * @param saveTeachplanDto 课程计划信息
     */
    void saveTeachplan(SaveTeachplanDto saveTeachplanDto);

    /**
     * 删除课程计划
     * @param id 课程计划主键id
     */
    void deleteTeachplan(Long id);

    /**
     * 移动课程计划位置
     * @param id 课程计划主键Id
     * @param move 移动参数，1上移，2下移
     */
    void moveTeachplan(Long id,int move);

    /**
     * 绑定课程计划的媒资
     * @param bindTeachPlanMediaDto 绑定参数
     */
    void associationMedia(BindTeachPlanMediaDto bindTeachPlanMediaDto);

    /**
     * 解除课程计划的媒资绑定
     * @param teachPlanId 课程计划id
     * @param mediaId 媒资id
     */
    void unbindMedia( String teachPlanId, String mediaId);
}
